﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NCT.Framework;

namespace VISS.API.Users {

    /// <summary>
    /// Contains info about user general looking for condition
    /// </summary>
    [Serializable]
	public class UserGeneralConditionEnt {

		#region Properties

        /// <summary>
        /// Gets or sets the user key.
        /// </summary>
        /// <value>The user key.</value>
		public string UserKey { get; set; }
        /// <summary>
        /// Gets or sets the old min.
        /// </summary>
        /// <value>The old min.</value>
		public byte OldMin { get; set; }
        /// <summary>
        /// Gets or sets the old max.
        /// </summary>
        /// <value>The old max.</value>
        public byte OldMax { get; set; }
        /// <summary>
        /// Gets or sets the height min.
        /// </summary>
        /// <value>The height min.</value>
		public short HeightMin { get; set; }
        /// <summary>
        /// Gets or sets the height max.
        /// </summary>
        /// <value>The height max.</value>
		public short HeightMax { get; set; }
        /// <summary>
        /// Gets or sets the weight min.
        /// </summary>
        /// <value>The weight min.</value>
		public short WeightMin { get; set; }
        /// <summary>
        /// Gets or sets the weight max.
        /// </summary>
        /// <value>The weight max.</value>
		public short WeightMax { get; set; }
        /// <summary>
        /// Gets or sets the income.
        /// </summary>
        /// <value>The income.</value>
		public int Income { get; set; }
        /// <summary>
        /// Gets or sets the city ID array (ex: 1,2,3).
        /// </summary>
        /// <value>The city ID array.</value>
		public string CityIDs { get; set; }
        /// <summary>
        /// Gets or sets the cities.
        /// </summary>
        /// <value>The cities.</value>
        public string Cities { get; set; }
        /// <summary>
        /// Gets or sets the job ID array (ex: 1,2,3).
        /// </summary>
        /// <value>The job ID array.</value>
		public string JobIDs { get; set; }
        /// <summary>
        /// This field is only used for display extra data.
        /// </summary>
        /// <value>The jobs array (etc: Hồ Chí Minh,Hà Nội).</value>
        public string Jobs { get; set; }
        /// <summary>
        /// Not used now
        /// </summary>
		public short CountryID { get; set; }
        /// <summary>
        /// Not used now, this field is only used to display
        /// </summary>
        public string Country { get; set; }
        /// <summary>
        /// Gets or sets the education ID.
        /// </summary>
        /// <value>The education ID.</value>
		public short EducationID { get; set; }
        /// <summary>
        /// This field is only used for display extra data.
        /// </summary>
        public string Education { get; set; }
        /// <summary>
        /// Gets or sets the religion ID.
        /// </summary>
        /// <value>The religion ID.</value>
		public short ReligionID { get; set; }
        /// <summary>
        /// This field is only used for display extra data.
        /// </summary>
        public string Religion { get; set; }
        /// <summary>
        /// Gets or sets the marital status ID.
        /// </summary>
        /// <value>The marital status ID.</value>
		public short MaritalStatusID { get; set; }
        /// <summary>
        /// This field is only used for display extra data.
        /// </summary>
        public string MaritalStatus { get; set; }
        /// <summary>
        /// Gets or sets the smoking ID.
        /// </summary>
        /// <value>The smoking ID.</value>
		public short SmokingID { get; set; }
        /// <summary>
        /// This field is only used for display extra data.
        /// </summary>
        public string Smoking { get; set; }
        /// <summary>
        /// Gets or sets the date created.
        /// </summary>
        /// <value>The date created.</value>
		public DateTime DateCreated { get; set; }
        /// <summary>
        /// Gets or sets the date modified.
        /// </summary>
        /// <value>The date modified.</value>
		public DateTime DateModified { get; set; }

		#endregion

		#region Constructors

        /// <summary>
        /// Initializes a new instance of the <see cref="UserGeneralConditionEnt"/> class.
        /// </summary>
		public UserGeneralConditionEnt() {
			UserKey = string.Empty;
			OldMin = 0;
			OldMax = 0;
			HeightMin = 0;
			HeightMax = 0;
			WeightMin = 0;
			WeightMax = 0;
			Income = 0;
			CityIDs = string.Empty;
            Cities = string.Empty;
			JobIDs = string.Empty;
            Jobs = string.Empty;
			CountryID = 0;
            Country = string.Empty;
			EducationID = 0;
            Education = string.Empty;
			ReligionID = 0;
            Religion = string.Empty;
			MaritalStatusID = 0;
            MaritalStatus = string.Empty;
			SmokingID = 0;
            Smoking = string.Empty;
			DateCreated = DateTimeUtils.MinValue;
			DateModified = DateTimeUtils.MinValue;
		}

		#endregion
	}
}